package com.demandbreakdown.xiyun.model.dto.picture;

import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.Size;
import lombok.Data;

/**
 * 图片上传DTO
 *
 * @author poxz
 */
@Data
@Schema(description = "图片上传DTO")
public class PictureUploadDTO {

    @Schema(description = "所属空间ID（可选，不传则为公共空间）", example = "123")
    private Long spaceId;

    @Schema(description = "图片名称（必填）", example = "美丽的风景", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotBlank(message = "图片名称不能为空")
    @Size(min = 1, max = 100, message = "图片名称长度必须在1-100个字符之间")
    private String pictureName;

    @Schema(description = "图片简介（可选）", example = "这是一张美丽的风景图片")
    @Size(max = 500, message = "图片简介长度不能超过500个字符")
    private String introduction;

    @Schema(description = "图片分类（可选）", example = "nature")
    @Size(max = 64, message = "分类长度不能超过64个字符")
    private String category;

    @Schema(description = "标签（可选，逗号分隔）", example = "旅行,风景,夏天")
    @Size(max = 200, message = "标签总长度不能超过200个字符")
    private String tags;
}

